﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийКомплектацияНоменклатуры
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"0b57fcfd-1af4-4d7c-8e00-36179c1e9bb8\", \"Представление\":\"КомплектацияНоменклатуры\"}")]
		КомплектацияНоменклатуры = 0,//комплектация номенклатуры
		[EnumMember(Value = "{\"Ссылка\":\"8716f23c-7f08-4de5-99ea-db2f5de56be5\", \"Представление\":\"ВыпускПродукции\"}")]
		ВыпускПродукции = 1,//выпуск продукции
		[EnumMember(Value = "{\"Ссылка\":\"04299ec8-4826-4322-8b3e-85ba144f5967\", \"Представление\":\"ПоступлениеОтПереработчика\"}")]
		ПоступлениеОтПереработчика = 2,//поступление от переработчика
	}
	public static partial class ВидыОперацийКомплектацияНоменклатуры_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid КомплектацияНоменклатуры = new Guid("1736008e-1e9c-b89b-4d7c-1af40b57fcfd");//комплектация номенклатуры
		public static readonly Guid ВыпускПродукции = new Guid("2fdbea99-e55d-e56b-4de5-7f088716f23c");//выпуск продукции
		public static readonly Guid ПоступлениеОтПереработчика = new Guid("ba853e8b-4f14-6759-4322-482604299ec8");//поступление от переработчика
		public static ВидыОперацийКомплектацияНоменклатуры Получить(this ВидыОперацийКомплектацияНоменклатуры Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийКомплектацияНоменклатуры Получить(this ВидыОперацийКомплектацияНоменклатуры Значение, Guid Ссылка)
		{
			if(Ссылка == КомплектацияНоменклатуры)
			{
				return ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры;
			}
			else if(Ссылка == ВыпускПродукции)
			{
				return ВидыОперацийКомплектацияНоменклатуры.ВыпускПродукции;
			}
			else if(Ссылка == ПоступлениеОтПереработчика)
			{
				return ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика;
			}
			return ВидыОперацийКомплектацияНоменклатуры.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийКомплектацияНоменклатуры Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийКомплектацияНоменклатуры Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры: return КомплектацияНоменклатуры;
				case ВидыОперацийКомплектацияНоменклатуры.ВыпускПродукции: return ВыпускПродукции;
				case ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика: return ПоступлениеОтПереработчика;
			}
			return Guid.Empty;
		}
	}
}